new Vue({
    el: '#app',
    data() {
        return {
            formData: {
                gameId: '',
                count: '',
                validDay: '',
                type: 0,
                pwd: ''
            },
            games:[],
            result:[],
            lastRequestTime: 0, // 上次请求的时间
            interval: 3000, // 设置请求间隔为 1 秒
        };
    },

    mounted() {
        this.getGames()
    },

    methods: {

        getGames() {
            axios.post('/game/list')
                .then(response => {
                    // 筛选 cate < 90 的数据
                    this.games = response.data.filter(game => game.cate < 90);
                })
                .catch(error => console.error('获取游戏数据失败:', error));
        },

        checkForm() {   //校验表单
            if(!this.formData.validDay) {
                this.errorTip('请选择有效期')
                return false;
            }

            if(!this.formData.pwd) {
                this.errorTip('请输入密码')
                return false;
            }

            if(!this.formData.count) {
                this.errorTip('请输入数量')
                return false;
            }

            if(this.formData.number > 100) {
                this.errorTip('数量不高于100')
                return false;
            }
            const currentTime = new Date().getTime(); // 当前时间戳
            if (currentTime - this.lastRequestTime < this.interval) {
                this.errorTip('点太快了~')
                return false;
            }
            this.lastRequestTime = currentTime;
            return true;
        },

        submitForm() {
            if(!this.checkForm()) return
            axios.post('/cdk/create', this.formData).then(response => {
                this.result = response.data;
                this.$message({
                    message: '操作成功~',
                    type: 'success',
                    duration: 2000   // 显示时长（毫秒）
                });
            }).catch(error => {
                this.errorTip(error.response && error.response.data ? error.response.data : ('获取游戏数据失败！' + error))
            });
        },

        errorTip(msg) {
            this.$message({
                message: msg,
                type: 'error',
                duration: 2000   // 显示时长（毫秒）
            });
        },

        copyToClipboard() {
            // 获取文本框内容并复制
            const textarea = this.$el.querySelector('textarea');
            textarea.select();
            document.execCommand('copy');
            alert('复制成功!');
        }
    },

    computed: {

    }

});
